1 IFF=0THENF=1:GOSUB60000 5 XP=7.5 :REM * BOWLING JOE GARRETT 10 REM * 2/3/86 15 REM *** MAIN PROGRAM *** 18 GOSUB 4500: REM * GET NAMES 20 GOSUB 1000: REM * INITIALIZE ALL 25 GOSUB 3000: REM * DRAW ALLEY 35 FOR FR=1 TO 10 37 : FOR PL=1 TO NP 38 : FOR BL=1 TO 2 40 : GOSUB 5000: REM * GET HEIGHT 50 : GOSUB 6000: REM * ROLL BALL 60 : GOSUB 10000:REM * DO SCORE 63 : IF FR=10 AND BL=2 AND NOT XB(PL) THEN GOSUB 9000: REM * 10TH FRAME? 64 POKE53280,0 65 : NEXT BL 67 : GOSUB 3090 : REM * RESET PINS 70 : NEXT PL 80 NEXT FR:GOSUB17000:REM* CLEAR PLAYER 100 PRINT"PLAY AGAIN? (Y/N) " : POKE 198,0 105 PRINT" " 110 GET T$: IFT$="" THEN110 120 IF T$="Y" THEN RUN 125 IF T$<>"N" THEN 110 127 POKE928,0:PRINT"[147][194]YE BYE BOWLING..." 130 LOAD"HELLO CONNECT",8:END 998 REM *** INITIALIZE EVERYTHING *** 999 STOP 1000 POKEV+21,0:PRINT "[147]WAIT...":U=RND(-TI):EB$(1)=" ":EB$(2)=" " 1002 REM *** SPRITE DATA *** 1005 DIM SC$(12,2,3) : REM * SCORE ARRAY 1010 POKE53280,0 : POKE53281,12 :AP=102:POKE53248+29,0 1015 FORW1=1TO12:FORW2=1TO2:FORW3=1TO2:SC$(W1,W2,W3)=" ":SC$(W1,W2,3)=" " 1017 NEXTW3:NEXTW2:NEXTW1 1020 DIM PP(10) : REM * PIN POSITIONS 1030 FOR T = 1 TO 10 1040 READ PP(T) : REM * READ PINS POS'S 1050 NEXT 1060 DATA 1335,1297,1377,1259,1339,1419,1221,1301,1381,1461 1070 FOR T1=1175 TO 1181 : REM * MAKE PINS WHITE 1080 FOR T2=0 TO 240 STEP 40 1090 POKE T1+T2+54272,1 1100 NEXT T2 1110 NEXT T1 1120 GOSUB 4000 : REM * SCORE FRAMES 1140 V=53248:POKE2042,13:POKEV+41,0 1370 REM *** DIRECTION DATA 1380 DR$(1)="[183]":DR$(2)="[197]":DR$(3)="[196]":DR$(4)="[192]":DR$(5)="[198]":DR$(6)="[210]" 1390 DR$(7)="[175]" 1990 GOSUB4530:RETURN 2000 : 2998 REM *** DRAW ALLEY *** 3000 PRINT " [154] [152] " 3002 PRINT " [154] [152] " 3005 FOR T=1 TO 7 3010 PRINT" [152][158][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][152] " 3015 NEXT T 3020 PRINT " [154] [152] " 3022 PRINT " [154] [152] " 3025 PRINT"....[157][157].[157][157].[157][157]." 3090 FOR T = 1 TO 10 3095 : POKE PP(T),81:POKEPP(T)+54272,1 3100 NEXT 3990 RETURN 3992 POKEPP(4),81:POKEPP(7),81:POKEPP(9),81:POKEPP(10),81:BL=1:RETURN 3996 : 3998 REM *** DRAW SCORE FRAMES *** 4000 PRINT"[176][192][192][192][192][192][192][192][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][174]" : R=1 4010 PRINT"[221]NAME [221] 1 [221] 2 [221] 3 [221] 4 [221] 5 [221]" 4020 PRINT"[171][192][192][192][192][192][192][192][192][192][192][219][192][178][192][219][192][178][192][219][192][178][192][219][192][178][192][219][192][178][192][179]" 4030 PRINT"[221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221]" 4040 PRINT"[221] [171][192][177][192][219][192][177][192][219][192][177][192][219][192][177][192][219][192][177][192][179]" 4050 PRINT"[221] [221] [221] [221] [221] [221] [221]" 4060 REM PRINT"[171][192][192][192][192][192][192][192][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][179]" 4070 IF R=1 THEN R=2 : GOTO 4020 4075 PRINT"[221] [221] [221] [221] [221] [221] [221]" 4080 PRINT"[145][173][192][192][192][192][192][192][192][192][192][192][177][192][192][192][177][192][192][192][177][192][192][192][177][192][192][192][177][192][192][192][189]" 4090 POKEV+21,0:RETURN 4480 REM *** GET NAMES 4490 : 4500 IF PEEK(850)<>7 OR PEEK(851)<>255 THEN LOAD"BALL",8,1 4502 POKEV+21,0:INPUT"[147]1 OR 2 PLAYERS";NP:IF NP<1 OR NP>2 THEN 4500 4503 INPUT"[147]WHAT IS YOUR NAME PLAYER 1";NM$(1) 4504 IF NP=1 THEN 4510 4505 INPUT"[147]WHAT IS YOUR NAME PLAYER 2";NM$(2) 4510 NM$(1)=LEFT$(NM$(1),9) 4512 NM$(2)=LEFT$(NM$(2),9) 4515 RETURN 4525 REM *** PRINT PLAYERS NAMES 4530 PRINT"" NM$(1) 4532 PRINT"" NM$(2) 4535 PRINT" " 4550 RETURN 4980 REM *** INPUT WHERE TO THROW BALL 4990 : 5000 POKEV+21,0:GOSUB5200:DN$="[157] [153]":TC=3 :HT=1 :DN=4 : SP=23:SR=0 5005 :P0=0:P1=0:P2=0:P3=0:P4=0:P5=0:P6=0:P7=0:P8=0:P9=0:FS=0:GOSUB 17000 5010 PRINTDN$;:FORT=1 TO DN:PRINT"";:NEXT T: PRINT DR$(TC); 5020 GET T$:IF T$="" THEN 5020 5030 IF T$=CHR$(13) THEN SP=SP+DN/2-1:GOTO 5300 5040 IF T$="" THEN SP=SP+1:TC=TC+1 5045 IF T$="S" THEN FS=-1:SP=20:GOTO5300 5050 IF T$="[145]" THEN SP=SP-1:TC=TC-1 5060 IF SP<0 THEN SP=0: DN=1:TC=1:GOTO5010 5070 IF SP=49 THEN SP=48:DN=7:TC=7:GOTO5010 5080 IF TC=8 THEN TC=1 5090 IF TC=0 THEN TC=7 5100 DN=INT(SP/7)+1: GOTO 5010 5200 PRINT"ALIGN THE GREEN MARK USING CURSOR KEYS " 5210 PRINT"PRESS RETURN WHEN SATISFIED WITH MARK":RETURN 5300 PRINT"[158]USE SPACE BAR TO CURVE BALL DURING ROLL" 5310 PRINT" " 5320 PRINT" [157] [157] [157] [157] [157] [157] [157] " 5330 RETURN 5980 REM *** ROLL BALL *** 5990 : 6000 POKEV+4,0:POKEV+16,0:Y=SP+75:POKEV+5,Y:POKEV+21,4 6002 GOSUB19500:REM *** BALL ROLL SOUND 6005 FORP=1TO10:P(P)=32:NEXTP 6010 FORT=1 TO 255 STEP 3:POKEV+4,T:POKEV+5,Y:Y=Y+RND(1)*.5-.25 6030 GETT$:IFT$=" "THEN Y=Y-RND(1) 6040 NEXTT:SL=0:IF Y>96ANDY<103 THEN SL=-1 6042 GOSUB6500: REM *** PROC PIN 1 6100 POKEV+16,4:FORT=1 TO 11:POKEV+4,T:POKEV+5,Y:NEXTT 6110 GOSUB 6700:REM *** PROC ROW 2 6120 POKEV+16,4:FORT=12 TO 27:POKEV+4,T:POKEV+5,Y:NEXTT 6130 GOSUB 6900:REM *** PROC ROW 3 6140 POKEV+16,4:FORT=28TO43 :POKEV+4,T:POKEV+5,Y:NEXTT 6150 GOSUB 7100:REM *** PROC ROW 4 6154 FORT8=7TO10:W=PP(T8):IFPEEK(W)=APTHENPOKEW+54272,7 6155 IF PEEK(PP(10))<>AP THEN POKEPP(10)+54272,1 6156 NEXT 6160 FORT=44TO86 :POKEV+4,T:POKEV+5,Y:NEXTT 6170 GOSUB8050:GOSUB 8000: IF PS=0 AND FR<10 THEN BL=2 6180 POKES+4,0:POKES+11,0:RETURN 6498 REM *** HIT PIN 1? *** 6500 IF Y>90 AND Y<109 THEN GOSUB20000:POKEPP(1),AP:POKEPP(1)+54272,7 6510 P1=-1:RETURN 6698 REM *** KNOCK DOWN ROW 2 *** 6699 : 6700 J2=0:J3=0: IFY>=117 OR Y<=81 THEN RETURN 6705 IFY>91 AND Y<107 THEN J2=-1:J3=-1: GOTO6720 6710 IF(Y>81 AND Y<92) THEN J2=-1 :GOTO6720 6715 IF(Y>106 AND Y<117) THEN POKEPP(3),AP:POKEPP(3)+54272,7:RETURN 6720 IF J2 THEN POKEPP(2),AP:POKEPP(2)+54272,7 6725 IF J3 THEN POKEPP(3),AP:POKEPP(3)+54272,7 6730 IF Y<98 ANDP1 THEN P6=-1:RETURN 6735 IFY>100 ANDP1 THEN P4=-1:RETURN 6898 REM *** KNOCK DOWN ROW 3 *** 6899 : 6900 IF (Y<=73 OR Y >=125) THEN RETURN 6902 GOSUB18000: GOSUB19000 6905 IF Y<=89 THEN POKEPP(4),AP:GOTO6950 6910 IF Y<=92 THEN POKEPP(4),AP:POKEPP(5),AP:GOTO6940 6915 IF Y<=105 THEN POKEPP(5),AP:GOTO6940 6925 IF Y<109 THEN POKEPP(5),AP:POKEPP(6),AP:GOTO6940 6930 IF Y<=124 THEN POKEPP(6),AP 6940 IFP4 THEN POKEPP(4),AP 6945 IFP6 THEN POKEPP(6),AP 6947 REM IFBL=2 THEN Y=75 6950 : 6960 FORT8=4TO6:W=PP(T8):IFPEEK(W)=APTHEN POKEW+54272,7 6970 NEXT:RETURN 7098 REM *** KNOCK DOWN ROW 4 *** 7099 : 7100 PR=5:IF (Y<=66 OR Y >=132) THEN RETURN 7105 IF Y<82 THEN POKEPP(7),AP:POKEPP(7)+54272,7:RETURN 7110 IF Y<85 THEN POKEPP(7),AP:POKEPP(8),AP:PR=3:RETURN 7115 IF Y<98 THEN POKEPP(8),AP:PR=7:GOTO7150 7120 IF Y<101 THEN POKEPP(8),AP:PR=2:POKEPP(9),AP:GOTO7150 7125 IF Y<114 THEN POKEPP(9),AP:PR=7:GOTO7150 7130 IF Y<117 THEN POKEPP(9),AP:PR=3:POKEPP(10),AP:GOTO7150 7135 POKEPP(10),AP 7150 IF BL=2 THEN PR=1 7153 GOSUB23000:IF RD THEN P7=-1 7155 GOSUB23000:IF RD THEN P8=-1 7160 GOSUB23000:IF RD THEN P9=-1 7165 GOSUB23000:IF RD THEN P0=-1 7170 IF P7 THENPOKEPP(7),AP 7175 IF P8 THENPOKEPP(8),AP 7180 IF P9 THENPOKEPP(9),AP 7185 IF P0 THENPOKEPP(10),AP 7190 IF P1 AND NOT SL THEN IF INT(RND(1)*10)+1=5 THEN FS=-1 7200 IF BL=1 THEN RETURN 7210 IF INT(RND(1)*500)<>428THEN RETURN 7220 FS=-1:PRINT"!!! I CAN'T BELIEVE IT !!! " 7230 PRINT" " 7240 RETURN 7251 IF NOT SL THEN RETURN 7999 REM *** COUNT STANDING PINS *** 8000 PS=0 :FORF=1TO10:IF PEEK(PP(F))=81THEN PS=PS+1 8010 NEXT F 8015 IF BL=1 AND PS=0 THEN SR=-1 8020 RETURN 8050 IF FS THEN FORT=1 TO 10:POKE PP(T),AP:NEXT 8060 RETURN 8998 REM *** EXTRA BALL CHECKER *** 8999 : 9000 XB(PL)=-1 9010 IF SC$(10,PL,2)="[169][146]" THEN GOSUB3090:BL= 1:EB=-1 9020 IF SC$(10,PL,2)="[214]" THEN GOSUB3090: BL= 1:EB=-1 9030 IF SC$(10,PL,1)="[214]" THEN BL= 1:EB=-1 9040 RETURN 9060 : 9998 REM *** SCORING *** 9999 : 10000 IF FR=10 THEN GOSUB 15000: GOTO 10045 10002 IF SR THEN SC$="[214]" :GOSUB 3090: GOTO 10047 10005 IF BL=2 AND PS=0 THEN SC$="[169][146]": GOTO 10047 10010 IF BL=1 THEN S1=10-PS:SC=S1 10020 IF BL=2 THEN SC=10-PS-S1 10025 IF BL=2 AND FR=10 AND SC$(10,PL,1)="[214]" AND NOT XB(PL) THEN SC=10-PS 10027 IF BL=2 AND FR=10 AND SC$(10,PL,1)="[214]" AND EB(PL)<>10 THEN SC=10-PS-S1 10030 SC$=STR$(SC):L=LEN(SC$):IF SC=10 AND XB(PL) THEN SC$="[214]" 10040 IF L>1 THEN SC$=RIGHT$(SC$,1) 10045 IF XB(PL) THEN EB$(PL)=SC$: EB=0:EB(PL)=SC: GOSUB 13000: GOTO 10050 10047 IF BL=2 AND PS=0 AND SC$(10,PL,1)="[214]" THEN SC$="[214]" 10048 SC$(FR,PL,BL)=SC$:GOSUB 13000 :REM * DO SCORE 10050 S1$=SC$(8,PL,2):S2$=SC$(9,PL,2):S3$=SC$(10,PL,1):V8=VAL(SC$(8,PL,3))+10 10051 V8$=STR$(V8):V8$=RIGHT$(V8$,3) 10052 IFS1$="[214]"ANDS2$="[214]"ANDS3$="[214]"ANDFR=10ANDBL=1 THENSC$(8,PL,3)=V8$ 10054 PRINT"[158]"; 10055 F1=FR-4:IFF1<1 THENF1=1 10060 FORQT=F1 TO FR 10065 FORGT=1 TO 2 10067 IF GT=2 THEN PRINT"[157][157][157][157]"; 10070 PRINTSC$(QT,GT,1)""SC$(QT,GT,2)"[157][157][157]"SC$(QT,GT,3)"[145][145]"; 10072 IF GT=2 THEN PRINT"[145][145][145][145]"; 10073 NEXT GT 10075 NEXTQT:EB=0 10080 IF BL=2 THEN PRINT""; 11895 PRINT 11898 REM *** PRINT FRAME # 11899 : 11900 F1=FR-4:IFF1<1 THENF1=1 11905 PRINT""; 11910 FORQT=F1 TO FR : FR$=STR$(QT):FR$=RIGHT$(FR$,1) 11920 PRINT FR$"";:NEXT QT 11925 IF FR <> 10 THEN RETURN 11935 PRINT"10"; 11940 PRINT"[145][192][192][174][157][157][157] [221][157][157][157][178][192][179][157][221][157][157][157][177][192][179][157][157][157] [221][157][157][157][178][192][179][157][221][157][157][157][177][192][179][157][157][157] [221][157][157][157][192][192][189]" 11950 IF (EB(1)=0 AND EB(2)=0) THEN RETURN 11960 PRINT"[158]"; 11965 IF EB(1)<>0 THEN PRINT EB$(1) 11967 PRINT"[158]"; 11970 IF EB(2)<>0 THEN PRINT EB$(2) 11973 REM BL=2 11975 RETURN 11995 : 12998 REM *** COMPUTE SCORE *** 12999 : 13000 WS=FR-2:IF WS<1 THEN WS=1 13005 FOR CE=WS TO FR 13007 IF CE=10 THEN GOSUB 14000:NEXT CE:RETURN 13010 FOR E2=1 TO NP:PV=0:CT=0 13012 IF CE>1 THEN IF SC$(CE-1,E2,3)<>" " THEN PV=VAL(SC$(CE-1,E2,3)) 13014 S1$=SC$(CE,E2,1):S2$=SC$(CE,E2,2):S3$=SC$(CE,E2,3):S4$=SC$(CE+1,E2,1) 13015 IF CE=8ANDS1$="[214]"ANDS4$="[214]"ANDSC$(10,E2,1)="[214]"THENCT=-1:SC=30:RETURN 13016 S5$=SC$(CE+1,E2,2) 13017 IF S2$=" " THEN 13250 13018 IFS2$="[169][146]" THEN GOSUB 13500:GOTO13055 13020 IF S3$<>" " THEN 13250 13030 IF((S2$>"/")AND(S2$<":"))THEN S3=VAL(S1$)+VAL(S2$):CT=-1:GOTO 13070 13050 IF S2$="[214]" THEN GOSUB 13710: REM *** COUNT STRIKE 13055 IF NOT CT THEN 13250 13060 IF S3=0 THEN 13250 13070 IF CE=1 AND NOT SR THEN S3$=STR$(S3):GOTO13210 13198 IF CT THEN S3=PV+S3 13199 REM IF CT AND NOT NA(PL) THEN NA(PL)=-1:S3=S3+EB(PL) 13200 S3$=STR$(S3) 13210 IF LEN(S3$)<3 THEN S3$=S3$+" ":GOTO 13210 13213 S7$=SC$(CE+1,E2,1) 13220 IF LEN(S3$)>3 THEN S3$=RIGHT$(S3$,3) 13230 SC$(CE,E2,3)=S3$ 13250 NEXT E2 13260 NEXT CE : RETURN 13498 REM *** COUNT UP A SPARE *** 13499 : 13500 IF S5$="[214]" ORS4$="[214]" THEN S3=20:CT=-1:RETURN 13505 REM IF FR=10 THEN S4$=EB$(PL) 13510 DD=(S4$>"/" AND S4$<":") 13520 IF DD THEN S3=10+VAL(S4$):CT=-1:RETURN 13530 IF S4$=" " AND S5$=" " THEN CT=0:RETURN 13700 REM *** COUNT UP A STRIKE 13710 S4$=SC$(CE+1,E2,2):S5$=SC$(CE+2,E2,2):S6$=SC$(CE+2,E2,1) 13711 IF S4$="[169][146]" THEN S3=20:CT=-1:RETURN 13712 IF CE=8THENGOSUB13900:IFQTHENRETURN 13713 IF S4$=" " THEN CT=0:RETURN 13714 S7$=SC$(CE+1,E2,1) 13715 IF S7$="[214]" THEN GOSUB13800:RETURN 13716 IF S4$="[214]" AND S5$=" " ANDS6$=" " THEN CT=0: RETURN 13720 IF S4$="[214]" AND S5$="[214]" THEN S3=30:CT=-1:RETURN 13733 IF S4$="[214]" AND S6$<>" " THEN S3=20+VAL(S6$):CT=-1:RETURN 13735 S3=10+VAL(S4$)+VAL(S7$):CT=-1:RETURN 13740 : 13799 REM *** NINTH FRAME STRIKE WITH STRIKE IN 10TH FRAME *** 13800 IF S4$="[214]" THEN CT=-1:S3=30:RETURN 13810 CT=-1:S3=20+VAL(S4$):RETURN 13900 IF SC$(8,PL,2)="[214]" ANDSC$(9,PL,2)="[214]" AND SC$(10,PL,1)="[214]"THEN Q=-1:SC=30 13910 Q=0:RETURN 13998 REM *** 10TH FRAME SCORER *** 14000 IF SC$(9,PL,3)=" " THEN RETURN 14010 PV=VAL(SC$(9,PL,3)) 14020 S1=VAL(SC$(10,PL,1)) 14030 S2=VAL(SC$(10,PL,2)) 14040 S3=EB(PL):IF EB$(PL)=" " THEN S3=0 14050 IF SC$(10,PL,1)="[214]" THEN S1=10 14060 IF SC$(10,PL,2)="[169][146]" THEN S1=0:S2=10 14070 IF SC$(10,PL,2)="[214]" THEN S2=10 14080 IF EB$(PL)="[169][146]" THEN S3=10:S2=0 14085 IF EB$(PL)="[214]" THEN S3=10 14090 S=S1+S2+S3+PV:PV=0 14100 SC$=STR$(S) 14110 SC$=RIGHT$(SC$,3) 14120 IF XB(PL) THEN SC$(10,PL,3)=SC$ 14125 IF S1<>10 AND S2 <> 10 THEN SC$(10,PL,3)=SC$ 14130 RETURN 14998 REM *** SCORE FRAME 10 *** 14999 : 15000 IF BL=1 AND SR THEN SC$="[214]":FORT=1TO50:NEXT:GOSUB3090: RETURN 15010 IF BL=2 AND SR AND NOT XB(PL) THEN SC$="[214]":GOSUB3090 :RETURN 15015 IF BL=2 AND XB(PL)ANDPS=0 ANDSC$(10,PL,2)="[169][146]" THEN SC$="[214]":RETURN 15020 IF BL=2 AND XB(PL)ANDPS=0 ANDSC$(10,PL,2)<>"[214]" THEN SC$="[169][146]":SR=0:RETURN 15022 IF BL=2 AND XB(PL)ANDPS=0 ANDSC$(10,PL,2)="[214]" THEN SC$="[214]":RETURN 15025 IFBL=2ANDNOTXB(PL)ANDPS=0ANDSC$(10,PL,1)<>"[214]"THENSC$="[169][146]":GOSUB3090: RETURN 15030 IF BL=2 AND NOT XB(PL) AND SC$(10,PL,1)="[214]" THEN GOSUB16200:RETURN 15040 IF BL=1 AND NOT SR THEN SC=10-PS : SZ=SC 15050 IF BL=2 AND NOT SR AND XB(PL) THEN SC=10-SZ-PS:EB(PL)=SC 15055 IF BL=2 AND NOT SR AND XB(PL) AND SC$(10,PL,2)="[169][146]" THEN SC=10-SY-PS 15065 IF BL=2 AND NOT SR AND NOT XB(PL) THEN SC=10-PS-SZ:EB(PL)=SC 15100 SC$=RIGHT$(STR$(SC),1) : RETURN 16000 YL=VAL(SC$(10,PL,2)) 16010 SC=10-YL-PS:SC$=STR$(SC):SC$=RIGHT$(SC$,1) 16020 IF PS=0 THEN SC$="[169][146]" 16030 RETURN 16198 REM *** KJFKJG *** 16200 SC=10-PS:EB(PL)=SC:SC$=RIGHT$(STR$(SC),1): SZ=SC: RETURN 16998 REM *** POINT TO CURRENT PLAYER 16999 : 17000 IF PL=1 THEN PRINT"[149]>>>[157][157][157] " 17005 IF NP=1 AND FR<11 THEN RETURN 17010 IF PL=2 AND NP=2 THEN PRINT" [157][157][157][149]>>>" 17020 IF PL=(NP+1) THEN PRINT" [157][157][157] " 17030 RETURN 17998 REM *** ANIMATE 6 PIN ON SPARE 17999 : 18000 IF BL<>2 OR PEEK(PP(6))=AP OR Y<121 OR Y>126 THEN RETURN 18010 POKE1419,AP 18020 POKE1379,81:POKE1379+54272,1::::::::::::::: 18030 POKE1379,AP:POKE1379+54272,7 18040 POKE1340,81:POKE1340+54272,1::::::::::::::: 18050 POKE1340,AP:POKE1340+54272,7 18060 POKE1300,81:POKE1300+54272,1::::::::::::::: 18070 POKE1300,AP:POKE1300+54272,7 18080 POKE1261,81:POKE1261+54272,1::::::::::::::: 18090 POKE1261,AP:POKE1261+54272,7 18200 IF (RND(1)*10)2 OR PEEK(PP(4))=AP OR Y>77 OR Y<72 THEN RETURN 19010 POKE1259,AP 19020 POKE1299,81:POKE1299+54272,1::::::::::::::::::::::::::::::::::::::::::::: 19030 POKE1299,AP:POKE1299+54272,7 19040 POKE1340,81:POKE1340+54272,1::::::::::::::::::::::::::::::::::::::::::::: 19050 POKE1340,AP:POKE1340+54272,7 19060 POKE1380,81:POKE1380+54272,1::::::::::::::::::::::::::::::::::::::::::::: 19070 POKE1380,AP:POKE1380+54272,7 19080 POKE1421,81:POKE1421+54272,1::::::::::::::::::::::::::::::::::::::::::::: 19090 POKE1421,AP:POKE1421+54272,7 19100 IF ((RND(1)*10)109 OR PEEK(PP(1))=APTHEN RETURN 20010 IF Y>95 AND Y<103 THEN 20800 20020 IF Y<96 THEN 20500 20030 REM *** 1 PIN FLYS UPWARD *** 20040 POKE1335,AP 20050 POKE1297,81:POKE1297+54272,1::::::::::::::: 20060 POKE1297,AP:POKE1297+54272,7 20070 POKE1296,81:POKE1296+54272,1::::::::::::::: 20080 POKE1296,AP:POKE1296+54272,7 20090 POKE1259,81:POKE1259+54272,1::::::::::::::: 20100 POKE1259,AP:POKE1259+54272,7 20110 POKE1258,81:POKE1258+54272,1::::::::::::::: 20120 POKE1258,AP:POKE1258+54272,7 20130 POKE1220,81:POKE1220+54272,1::::::::::::::: 20140 POKE1220,AP:POKE1220+54272,7 20150 IF INT(RND(1)*10)<5THEN POKEPP(7),AP:POKEPP(10)+54272,7 20160 RETURN 20500 REM *** 1 PIN FLYS DOWNWARD *** 20510 POKE1335,AP 20520 POKE1376,81:POKE1376+54272,1::::::::::::::: 20530 POKE1376,AP:POKE1376+54272,7 20540 POKE1377,81:POKE1377+54272,1::::::::::::::: 20550 POKE1377,AP:POKE1377+54272,7 20560 POKE1418,81:POKE1418+54272,1::::::::::::::: 20570 POKE1418,AP:POKE1418+54272,7 20580 POKE1419,81:POKE1419+54272,1::::::::::::::: 20590 POKE1419,AP:POKE1419+54272,7 20600 POKE1460,81:POKE1460+54272,1::::::::::::::: 20610 POKE1460,AP:POKE1460+54272,7 20620 IF INT(RND(1)*10)<5THEN POKEPP(10),AP:POKEPP(10)+54272,7 20630 RETURN 20800 REM *** 1 PIN FLYS BACKWARD *** 20810 POKE1335,AP 20820 POKE1336,81:POKE1336+54272,1::::::::::::::: 20830 POKE1336,AP:POKE1336+54272,7 20840 POKE1337,81:POKE1337+54272,1::::::::::::::: 20850 POKE1337,AP:POKE1337+54272,7 20860 POKE1338,81:POKE1338+54272,1::::::::::::::: 20870 POKE1338,AP:POKE1338+54272,7 20880 POKE1339,81:POKE1339+54272,1::::::::::::::: 20890 POKE1339,AP:POKE1339+54272,7 20900 POKE1341,81:POKE1341+54272,1::::::::::::::: 20910 POKE1341,AP:POKE1341+54272,7 20920 RETURN 23000 REM IF BL=2 THEN PR=2:GOTO23010 23005 E=INT(RND(1)*10)+1 23010 IF E<=PR THEN RD=-1:RETURN 23020 RD=0:RETURN 50000 REM *** 50005 PY=99:PX=1:V=53248:POKEV+16,4 50010 POKEV+21,4:POKEV+4,PX :POKEV+5,PY 50015 PRINT" [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]"PX,PY; 50020 GET T$:IFT$="" THEN 50020 50030 IFT$="" THEN PY=PY+1:GOTO50010 50035 IFT$="," THEN PX=PX-1:IFPX=-1THENPX=0:GOTO50010 50040 IFT$="[145]" THEN PY=PY-1:GOTO50010 50045 IFT$="." THEN PX=PX+1:GOTO50010 50050 IFT$=CHR$(13) THEN POKEV+21,0:RETURN 50060 GOTO50010 60000 NM$="[202]OE [199]ARRETT":PR$="[213]P [217]OUR [193]LLEY" 60005 DEFFNCN(N)=INT(19-N/2) 60010 T$=" ":C=0:C$="":PRINT"[147]":POKE53281,0 60015 PRINTSPC(7)""T$:PRINTSPC(7)" [146]" 60020 PRINTTAB(FNCN(LEN(PR$)))"[145]"PR$ 60025 PRINTSPC(7)""T$:PRINT:PRINTTAB(18)"BY" 60030 PRINT:PRINTSPC(FNCN(LEN(NM$)))"[158]"NM$"" 60035 PRINT:PRINTSPC(12)"[195]OPYRIGHT 1986" 60040 PRINT:PRINT:PRINT:PRINT" [204][207][193][196][211][212][193][210] IS NOT PUBLIC DOMAIN." 60045 PRINT:PRINT" [208]LEASE RESPECT THE AUTHOR'S RIGHTS." 60050 PRINT:PRINT" [208]RESS SPACE BAR TO CONTINUE." 60055 FORCC=1TO48:GETK$:IFK$=" "THEN60070 60060 IFCC=1THENPRINTMID$(C$,C+2,1)"[145][145]";:C=NOT(C) 60065 NEXT:GOTO60050 60070 PRINT"[147]" C$CHR$(142):RETURN